約 5,522,232 件
https://w.atwiki.jp/redcloud/pages/13.html
目次 目次 SDK 1.6 SDK導入 Eclipse ADT導入 Eclipse 3.4の場合 Eclipse 3.5の場合 仮想マシンAVD作成 SDK 2.0 SDK導入 Eclipse ADT導入 Eclipse 3.5の場合 add-ons ファイルの取得 仮想マシンAVD作成 ツール adb adb devices 接続デバイス確認 adb shell コンソール接続 adb install アプリインストール adb push ファイル転送 開発 Eclipse ADTでHello World SDK1.5ベース SDK1.6ベース SDK2.0ベース Map使用アプリ ステータスバー使用アプリ いじる HT-03A 道化 カスタムROM導入 読書メモ お勉強 リンク SDK 1.6 SDK導入 ダウンロードここから android-sdk-windows-1.6_r1.zip をダウンロード C \local\android-sdk-windows-1.6_r1 に解凍 PATH環境変数に、 上記解凍先フォルダ \tools を追加 Eclipse ADT導入 Eclipse 3.4の場合 eclipseを起動して、[ヘルプ]- [ソフトウェアの更新]で[使用可能なソフトウェア]タブを選択し、[サイトの追加]を押下 https //dl-ssl.google.com/android/eclipse/ を追加して、正常に追加できていることを確認 ※2009/11/3時点でバージョンは0.9.4 追加したサイトにチェックを入れ[インストール]押下 ※上記方法でうまくいかなければ。。。↓ ※実際に "No repository found containing org.apache.oro/osgi.bundle/2.0.8.v200903061218" というエラーが発生した! ダウンロードここから ADT-0.9.3.zip をダウンロード eclipseを起動して、[ヘルプ]- [ソフトウェアの更新]で[使用可能なソフトウェア]タブを選択し、[サイトの追加]を押下 [アーカイブ]を押下し、ダウンロードしてきたzipを指定、正常に追加される事を確認 追加したサイトにチェックを入れ[インストール]押下 ※アップデートの場合は下記のようなダイアログが出る ※これでもうまくいかず。。。Eclipseを3.5にするしかなさそう Eclipse 3.5の場合 eclipseを起動して、[ヘルプ]- [新規ソフトウェアのインストール]- [追加]で、https //dl-ssl.google.com/android/eclipse/ を追加 使用可能なソフトウェアの画面に戻って、[作業対象]プルダウンで追加したandroidのURLを選択。ソフトウェア表示欄にDeveloper Toolsが表示される事を確認 全てにチェックを入れて[次へ]。後はインストールをひたすら進める。(警告が出てもOKする) [ウインドウ]- [設定]- [Android]で、[SDKロケーション]にインストールしたAndroidSDKのフォルダを指定 仮想マシンAVD作成 コマンドプロンプトを開いて下記を実行 android create avd -n SDK16 -t 4 -c 128M エミュレータ起動確認 emulator @SDK16 SDK 2.0 ※SDK1.6からのアップデートを前提とした手順を記述する SDK導入 ダウンロードここから C \local\android-sdk-windows に解凍 PATH環境変数に、 上記解凍先フォルダ \tools を追加 Eclipse ADT導入 Eclipse 3.5の場合 eclipseを起動して、[ヘルプ]- [新規ソフトウェアのインストール]- [追加]で、https //dl-ssl.google.com/android/eclipse/ を追加 使用可能なソフトウェアの画面に戻って、[作業対象]プルダウンで追加したandroidのURLを選択。ソフトウェア表示欄にDeveloper Toolsが表示される事を確認 全てにチェックを入れて[次へ]。後はインストールをひたすら進める。(警告が出てもOKする) [ウインドウ]- [設定]- [Android]で、[SDKロケーション]にインストールしたAndroidSDKのフォルダを指定 add-ons ファイルの取得 eclipseを起動して、[ウインドウ]- [Android SDK and AVD Manager] [Available Packages]のリポジトリを展開し、必要な物にチェックを入れ[Install Selected]- [Accept All]にチェックを入れ[Install Accepted] 仮想マシンAVD作成 eclipseを起動して、[ウインドウ]- [Android SDK and AVD Manager] [Virtual Devices]を選択して[新規]を押下して Create new AVD画面を開く Maps APIをSDK1.5ベースで使用できる「Google APIs API Level 3」を使用する前提で。。。 名前…任意の名前を入力 ターゲット…"Google APIs(Google Inc) - API Level 3" SD Card…サイズ=任意(とりあえず128 MiB) Skin…Built-In=任意(とりあえずDefault) SDK1.6ベースの「API Level 4」を使用する前提で。。。 ターゲット…"Android 1.6 - API Level 4" SDK2.0ベースの「API Level 5」を使用する前提で。。。 ターゲット…"Android 2.0 - API Level 5" 以上を入力して[Create AVD] ツール adb adb devices 接続デバイス確認 PCに接続中のデバイス(エミュレータも含む)を表示する adb devices List of devices attached HT********** device ←実機 emulator-**** device ←エミュレータ adb shell コンソール接続 adb (-s serial number ) shell adb install アプリインストール apkファイル形式のアプリを接続中のデバイスにインストールする adb (-s serial number ) install c \hoge.apk adb push ファイル転送 SDカードにPC上のファイルを転送する adb (-s serial number ) push "c \hoge.txt" /sdcard/hoge.txt 開発 Eclipse ADTでHello World SDK1.5ベース SDK1.6ベース SDK2.0ベース Map使用アプリ TODO ステータスバー使用アプリ TODO いじる HT-03A 道化 このリンクを、Gmailからorブラウザから起動 ファイルマネージャ(AndExplorerなど)で /sdcard/download を開き(※DolphinブラウザでDLした場合はここだった)、ダウンロードしたapkファイルを選択 TODO カスタムROM導入 TODO 読書メモ Android/読書メモ お勉強 Android/お勉強 リンク TODO
https://w.atwiki.jp/yasrun/pages/63.html
package org.yasrun.test3; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.os.Bundle; import android.view.View; public class Test3Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // クラスのインスタンスを生成 MyView mView = new MyView(getApplication()); // Viewに設定 setContentView(mView); } } /** * 描画用のクラス */ class MyView extends View { /** * コンストラクタ * * @param c */ public MyView(Context c) { super(c); setFocusable(true); } /** * 描画処理 */ protected void onDraw(Canvas canvas) { super.onDraw(canvas); /* 背景色を設定 */ canvas.drawColor(Color.BLACK); /* 描画するための線の色を設定 */ Paint mainPaint = new Paint(); // mainPaint.setStyle(Paint.Style.FILL); mainPaint.setStyle(Paint.Style.STROKE); for (int i = 0; i 100; i++) { int r = (int) (Math.random() * 205) + 50; int g = (int) (Math.random() * 205) + 50; int b = (int) (Math.random() * 205) + 50; int cx = (int) (Math.random() * 320); int cy = (int) (Math.random() * 480); int radius = (int) (Math.random() * 50) + 20; mainPaint.setARGB(r, g, b, 100); canvas.drawCircle(cx, cy, radius, mainPaint); } } }
https://w.atwiki.jp/android-reference/pages/21.html
android Contains the resource classes used by standard Android applications. Classes Manifest Manifest.permission Manifest.permission_group R R.anim R.array R.attr R.bool R.color R.dimen R.drawable R.id R.integer R.layout R.plurals R.raw R.string R.style R.styleable R.xml コメント 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/android_api/pages/17.html
Androidアプリは「アクティビティ」、「ブロードキャストレシーバー」、「サービス」、「コンテンツプロバイダ」の4つの構成要素から成り立ちます。 リソースクラスです。標準的なアンドロイドアプリケーションに使用されます。このパッケージにはアンドロイドアプリケーションを使う際の定義がされています。サードパーティの開発者が使うことのできるたくさんのアップリケーションがあります。リソースの詳細についてはリソースとアセットをご覧ください。
https://w.atwiki.jp/nozick/pages/6.html
Javaを用いた開発手法。 ソフト Eclipseショートカットキー アクティビティーサイクル 画面に関する設定 getSystemServiceに関して ActivityとContext メディアプレイヤ ログ ダイアログ バイブレータ ソフト Eclipse(SDK・ADT) JDK ver6(現在は7でも可と思われる) Android SDK Eclipseショートカットキー +... [Ctrl]+[Space] →候補を出す。 [Ctrl]+[Shift]+[O] →インポートの編成。足りないものを追加し、使用してないものを削除する。 [Alt]+[Shift]+[S] →ソースタブの一部を参照可。使いどころとしては、この後[F]でフォーマットを掛ける位か。 →フォーマットの設定はウィンドウタブから設定を開き、Javaの欄の中にあるコード・スタイル欄の中にあるフォーマッタ―を弄る。 アクティビティーサイクル Androidアプリのライフサイクル BGMなどを流したりすると処理を切らねばならないので重要となる基本的な知識。 +... onCreate() →アプリ起動時に通る処理。ビューのセットなどを行う。 onRestart() →後記するonStopから復帰した際に通る処理。 onStart() →onCreate()かonRestart()の後に通る処理。 onResume() →onStart()か後記するonPause()のからの復帰時に通る処理 onPause() →ツイッター機能などで他のActivityが起動した際に通る処理。 onStop() →ホームボタンを押すなどしてActivityが表示されない際に通る処理。 onDestroy() →使用しなくなった際に通る処理。 画面に関する設定 onCreateで指定するのが定石。 +... // バックライトを保持する(常時点灯)getWindow().addFlags( WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON );// ステイタスバーの表示をクリアgetWindow().clearFlags( WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN ); // フルスクリーン処理を追加getWindow().addFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN ); // タイトルバーを消す requestWindowFeature( Window.FEATURE_NO_TITLE ); getSystemServiceに関して 画面解像度取得やバイブレータの所得等で使いますが、 context.を使うことでonCreate以外でも取得可能です。 +... バイブレータの場合 // これでエラー吹く場合vibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);// Contextで解決vibrator = (Vibrator)contex.getSystemService(context.VIBRATOR_SERVICE); ActivityとContext よく、Contextを引数として指定してくるメソッドがあるが、 場合によっては、Contextと書いているにもかかわらずActivityが必要な場合があるので注意。 (Activityの情報を持ったContextが必要というべきか?) メディアプレイヤ BGMなどを流すのに用いる機能。SEなどには向かない。 SEならSoundPoolが良い。 +... 流れ →new/create/setlooping/seekTo/start/stop/release/null →prepareも使ったほうが良いと思われる。 →stopだと、再利用不能かと思われる。再利用にはpauseが良いと思われる。 ログ ログを出力することでデバッグがしやすくなる。 +... ログの種類は複数存在する →ERROR エラー →WARN 警告 →INFO 情報 →DEBUG デバック →VERBOSE すべて 使い方は →Log.e("タグ","メッセージ"); →eがERROR、wが警告…となっている。 ダイアログ ここではアラートダイアログとプログレスダイアログを紹介する。 「アラートダイアログは便利だが、プログラム側から処理を切るのは不可能かと思われる。(Activity再生成ならどうにか?)」 「なので、プログラム側から一定段階で処理を切りたい場合はプログレスダイアログが良い。」 アラートダイアログ +... メソッドチェーンが可能。 処理の中断は不可能かと思われる。 AlertDialog.Builder aleartDlg = null;// 生成aleartDlg = new AlertDialog.Builder(getContext());// ボタンでのみダイアログに影響を与えるaleartDlg.setCancelable(false)// タイトル設定.setTitle("タイトル")// メッセージ設定.setMessage("メッセージ")// ボタン設定(YesNo時は追加で.setNegativeButtonで対処).setPositiveButton("OK", new DialogInterface.OnClickListener(){ // ボタンがタッチされたら public void onClick(DialogInterface dialog, int whichButton){}})// 表示.show; プログレスダイアログ +... クルクルと回るものが表示されるダイアログを紹介。 ProgressDialog progressDlg = null;// 生成progressDlg = new ProgressDialog(getContext());// タイトル設定progressDlg.setTitle("タイトル");// メッセージ設定progressDlg.setMessage("メッセージ");// スタイル設定(クルクル回る)progressDlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 表示progressDlg.show();// 表示終了progressDlg.dismiss(); バイブレータ バイブレータの搭載は至極簡単です。 .Java +... バイブレータを使う Vibrator vibrator;// バイブレータ取得vibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);// バイブレータ指定時間(ミリ秒)始動vibrator.vibrate( 100 );// バイブレータ停止vibrator.cancel(); Manifest +... バイブレータの権限を得る uses-permission android name="android.permission.VIBRATE" /uses-permission
https://w.atwiki.jp/android/pages/36.html
Androidアプリケーション解体新書 Androidアプリケーションには以下の4つの構成ブロックがあります。 Activity(アクティビティ) Intent Receiver(インテントレシーバー) Service(サービス) Content Provider(コンテンツプロバイダ) すべてのアプリケーションが上記の4つ全てが必要なわけではなく、いくつかを組合せてアプリケーションを作成します。 まず、あなたのアプリケーションにどんなコンポーネントが必要かを決めて、AndroidManifest.xmlと呼ばれているファイルに記述する必要があります。 これは、あなたのアプリケーションの能力と必要とするコンポーネントを宣言するXMLファイルです。 詳細はAndroidManifest.xml?を見てください。 Activity(アクティビティ) アクティビティは、4つのAndroidの構成ブロックの中で最も一般的です。アクティビティは、通常あなたのアプリケーションの一つの画面を意味します。各々のアクティビティは、Activity?ベースクラスを拡張した単独のクラスとして実装されます。 あなたのクラスはViews?から成るユーザインタフェースを表示することや、イベントに対応しています。 大部分のアプリケーションは、複数の画面から構成されています。 たとえば、テキストメッセージングアプリケーションは、送信先のコンタクトリスト画面、メッセージ作成画面、メッセージ閲覧画面、設定変更画面を持っているかもしれません。 これらのスクリーンの各々は、アクティビティとして実行されます。 新しいアクティビティの起動によって別のスクリーンに移る。アクティビティは前のアクティビティに値を返す場合があります。たとえば、ユーザーに写真を選ばせるアクティビティはコール元に選ばれた写真を返します。 新しいスクリーンが開くとき、前画面はヒストリースタックの上に中断されて、置かれます。 ユーザーは、ヒストリーで直前にオープンされたスクリーンによって後ろに操縦することができます。 スクリーンは、彼らが残ることが不適当であるヒストリースタックから取り外されるほうを選ぶこともできます。アンドロイドは、ホームスクリーンから起動されるアプリケーションごとに、ヒストリースタックを保持します。 Intent and Intent Filters(インテントとインテントフィルター) アンドロイドは、スクリーンからスクリーンへ移るインテントと呼ばれている特別なクラスを使用します。インテントは、アプリケーションが何がされることを望むかについて述べます。インテントデータ構造の2つの最も重要な部分は、作用する行動とデータです。行動のための典型的価値はMAIN(アクティビティの前のドア)、VIEW、PICK、EDIT、その他です。そして、データはURIとして表されます。たとえば、人への連絡先を見るために、あなたはその人を代表しているURIに、VIEWアクションとデータセットでインテントをつくるでしょう。 IntentFilterと呼ばれている関連したクラスが、あります。インテントが効果的に何かする要請である間、インテントフィルタはインテントアクティビティ(または、インテントレシーバ、下記参照)が取り扱うことができるものの説明です。人への連絡先を示すことができるアクティビティは、人を代表しているデータに適用されるとき、それがアクションVIEWを取り扱う方法を知っていると言ったインテントフィルタを発行します。アクティビティは、彼らのIntentFiltersをAndroidManifest.xmlファイルで発表します。 映るためにスクリーンから操縦することは、インテントを解決することによって達成されます。前方へ操縦するために、アクティビティはstartActivity(myIntentな)を呼びます。システムは、それからすべてのインストールされたアプリケーションのためにインテントフィルタを見て、試合が最もインテントフィルタをmyIntentする活動を選択します。新しいアクティビティは意図を知らされます。それはそれがラウンチされる原因になります。startActivityが呼ばれるとき、インテントを分解するプロセスは実行時で起こります。そして、それは2つの鍵となるベネフィットを提供します: アクティビティは、単にインテントのリクエストフォームの中にを作ることによって、他の構成要素から機能を再利用することができます アクティビティは、等しいインテントフィルターでいつでも新しいアクティビティと取り替えられることができます Intent Receiver(インテントレシーバー) 例えば、電話が着信した時、ネットワークが利用可能になった時、真夜中になった時といった外部のイベントに反応するアプリケーションを作成したい時には、IntentReceiverを使えます。インテントレシーバーはUIを表示しません。ただし、注意を引くことが発生したらユーザーに知らせるために、インテントレシーバーはNorificationManagerを使うでしょう。インテントレシーバーは、AndroidManifest.xmlに登録されますが、Context.registerReceiver()を使うことによって、コード中で登録することもできます。アプリケーションは、コールされる時に、そのアプリケーションのインテントレシーバーが動いている必要はありません; システムは、必要であればそのアプリケーションを起動し、インテントレシーバーが開始されます。アプリケーションは、Context.broadcastIntent()を使うことによって、そのアプリケーション独自のインテントを他のインテントレシーバーにブロードキャストすることもできます。 Service(サービス) サービスは、永続的に、UIなしで動くコードです。サービスのよい例として、プレイリストから曲を再生するメディアプレイヤーがあります。メディアプレイヤーアプリケーションでは、多分、ユーザーに曲を選択させたり、選択された曲の再生を開始させたりするための、1個かそれ以上のアクティビティがあるでしょう。しかし、ユーザーは、新たな画面に移動した後でも、音楽を再生し続けることを期待するでしょうから、音楽再生自体がアクティビティによって制御されるべきではありません。このケースでは、メディアプレイヤーアクティビティはバックグラウンドで音楽を再生し続けるために、Context.startService()を使うことによって、サービスを起動します。システムは音楽が終わるまで再生サービスを走らせつづけます。(システムでサービスにプライオリティを与える方法についての詳細は、Androidアプリケーションのライフサイクル?を参照してください。)Context.bindService()メソッドでサービスに接続できる(そしてサービスがまだ走っていなければ、起動できる)ことに注意してください。サービスに接続中は、そのサービスによって公開されたインタフェースを介して、あなたはそれと通信できます。音楽サービスにおいてこのことは、あなたに音楽の一時停止や巻き戻し等の余地を与えるかもしれないことを示します。 Content Provider アプリケーションは、それらのデータをファイル、SQLiteデータベースまたは意味をなす他のどのメカニズムにも格納することができます。 アプリケーションのデータが他のアプリケーションと共有したい場合、コンテントプロバイダーが使えます。 コンテントプロバイダーは、他のアプリケーションをそのコンテントプロバイダーによって取り扱われるデータの型を格納・読み出しさせるために方法の標準的なセットをインプリメントするクラスです。 コンテントプロバイダーに関するより多くの詳細を得るために、Accessing Content Providersを見てください。
https://w.atwiki.jp/pcmemo/pages/25.html
Android Android SDKのインストーラにJDKが無いと言われる JDKが入っているのに 「Java SE Development Kit (JDK) not found.」 と言われる場合 64bit版WindowsだとJDKの使うレジストリの関係でインストーラがJDKを認識できないようです とりあえずzip版使えばOK 実機での実行/デバッグ 実機での実行 実機でもデバッグができるようにするEclipseならAndroid.xmlの「アプリケーション」タブからApplication Attributes内、debuggableをtrueに 直接編集する場合は、 application 要素に「android debuggable="true"」を追加 Eclipseでの実行実行やデバッグを押すとAndroid Device Chooserダイアログが出るので上側の実機デバイスを選択してOK AVDが自動で起動する場合、実行>実行(デバッグ)構成>Androidアプリケーション>(プロジェクト名)>ターゲット内のAVDのチェックを外して適用 ADBでの実機へのインストール・アンインストール 実機が繋がった状態でコマンドプロンプトから インストールadb install [.apkファイル] .apkはプロジェクトのbinフォルダにあるやつ アンインストールadb uninstall [パッケージ名] パッケージ名はcom.example~とかのやつ Android NDK ndk-build時に/cygdrive/g/David~が見つからないと言われる よくわからないけどWindowsのGドライブが関係しているようで、Daemon Toolsが作成していたGドライブを削除したら通るようになった。 参考URL https //groups.google.com/group/android-ndk/browse_thread/thread/7eb2ef515c1fca2?hl=ja
https://w.atwiki.jp/kamiapp/pages/16.html
電話 メール IME ホーム Widget ライブ壁紙 ロック画面 ブラウザー 設定 ランチャー QRコード 画像ビューア 音楽プレイヤー 動画プレイヤー Twitterクライアント オンラインストレージ 漫画 ラジオ スケジュール 天気予報 カメラ 電卓 地図 画像編集 RSSリーダー その他 電話 アプリ名 Dialer One URL https //play.google.com/store/apps/details?id=kz.mek.DialerOne&hl=ja 一言 使った事ない アプリ名 電話帳R URL https //play.google.com/store/apps/details?id=net.studiofly.android.ringo 一言 使った事ry アプリ名 Garlic電話帳 URL https //play.google.com/store/apps/details?id=an.garlic.tool.contacts&hl=ja 一言 電話帳使わねぇし メール アプリ名 K-9 Mail URL https //play.google.com/store/apps/details?id=com.fsck.k9&hl=ja 一言 Gmail等キャリアメール以外ならこれ IME アプリ名 Google 日本語入力 URL https //play.google.com/store/apps/details?id=com.google.android.inputmethod.japanese&hl=ja 一言 google先生の本気。マッシュルーム対応 ホーム アプリ名 LauncherPro URL https //play.google.com/store/apps/details?id=com.fede.launcher&hl=ja 一言 なんか凄い。何が凄いかは忘れた アプリ名 Zeam Launcher URL https //play.google.com/store/apps/details?id=org.zeam&hl=ja 一言 Beamは出ません。Zeamです。 アプリ名 GO ランチャー EX (Go Launcher EX) URL https //play.google.com/store/apps/details?id=com.gau.go.launcherex&hl=ja 一言 無料なのにEXが付いてるお得感。Googleストアで一番人気らしい Widget アプリ名 SiMi Folder Widget URL https //play.google.com/store/apps/details?id=com.th.android.widget.SiMiFolder&hl=ja 一言 使ったこと無い アプリ名 SiMi Clock Widget URL https //play.google.com/store/apps/details?id=com.th.android.widget.gTabsimiClock&hl=ja 一言 電球のアイコンなのに時計のWidget アプリ名 Minimalistic Text URL https //play.google.com/store/apps/details?id=de.devmil.minimaltext&hl=ja 一言 シンプル・イズ・ベスト アプリ名 AudioManager URL https //play.google.com/store/apps/details?id=com.smartandroidapps.audiowidget&hl=ja 一言 音量をマネージメントしてくれるお姉さん アプリ名 ExtDateWidgetXL URL https //play.google.com/store/apps/details?id=com.atdevsoft.apps.extdatewidgetxl&hl=ja 一言 ExtDateWidgetが死亡していたのでこっち アプリ名 SwitchPro Widget URL https //play.google.com/store/apps/details?id=alei.switchpro&hl=ja 一言 自爆スイッチは押さないように。 アプリ名 Glaeja URL https //play.google.com/store/apps/details?id=com.gmail.kanitawa.glaeja 一言 私を使いこなせてみせよ。読み方は作者曰く「ぐらえじゃ」 ライブ壁紙 アプリ名 MultiPicture Live Wallpaper URL https //play.google.com/store/apps/details?id=org.tamanegi.wallpaper.multipicture&hl=ja 一言 画面ごとに異なる画像を表示するライブ壁紙です。 アプリ名 Overlay Skin URL https //play.google.com/store/apps/details?id=com.moegoto.overlay.skin&hl=ja 一言 ライブ壁紙は電池を多く消耗するので注意 ロック画面 アプリ名 WidgetLocker Lockscreen URL https //play.google.com/store/apps/details?id=com.teslacoilsw.widgetlocker&hl=ja 一言 ロック画面を色々カスタマイズ出来る。不具合ちょっと多め アプリ名 No Lock URL https //play.google.com/store/apps/details?id=org.jraf.android.nolock&hl=ja 一言 ロック画面?そんなの要らねぇよksという人向け。 アプリ名 Delayed Lock TRIAL URL https //play.google.com/store/apps/details?id=de.j4velin.delayedlock2.trial 一言 ↑と同じ。使える方を使え ブラウザー アプリ名 Opera Mobile ウェブブラウザ URL https //play.google.com/store/apps/details?id=com.opera.browser&hl=ja 一言 時代が私に着いてこれない。Mini 設定 アプリ名 APNdroid URL [[]] 一言 返事が無い。ただの屍のようだ ランチャー アプリ名 SwipePad:ハイパースペース·ランチャー URL https //play.google.com/store/apps/details?id=mobi.conduction.swipepad.android&hl=ja 一言 RPG-7では有りません アプリ名 Wave Launcher URL https //play.google.com/store/apps/details?id=com.mobilemerit.wavelauncher&hl=ja 一言 波に乗れ、ビックウェーブ! アプリ名 ssFlicker URL https //play.google.com/store/apps/details?id=com.ssmomonga.ssflicker 一言 2.x?時代は4.xなんだよ。 アプリ名 スカイフィッシュフリー URL https //play.google.com/store/apps/details?id=net.trashfeed.skyfishfree&hl=ja 一言 1.6でも動くけどWidgetは2.xから。スカイフィッシュ QRコード アプリ名 QRコードスキャナー URL https //play.google.com/store/apps/details?id=com.google.zxing.client.android&hl=ja 一言 おじさんの頭はスキャン出来ません。 アプリ名 QR Droid™ (日本語) URL https //play.google.com/store/apps/details?id=la.droid.qr&hl=ja 一言 ドロイド君どいて、そいつ読み取れない! 画像ビューア アプリ名 QuickPic URL https //play.google.com/store/apps/details?id=com.alensw.PicFolder&hl=ja 一言 画像が消えたとか言ってる奴は隠しファイルにしてないか? 音楽プレイヤー アプリ名 Poweramp URL https //play.google.com/store/apps/details?id=com.maxmpz.audioplayer&hl=ja 一言 トップデベロッパーの名は伊達じゃない。因みにこれは15日体験版Unlockerを買うと解除 アプリ名 PlayerPro Music Player URL https //play.google.com/store/apps/details?id=com.tbig.playerpro&feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiY29tLnRiaWcucGxheWVycHJvIl0. 一言 テーマが豊富。10日体験版 動画プレイヤー アプリ名 MX 動画プレーヤー URL https //play.google.com/store/apps/details?id=com.mxtech.videoplayer.ad&hl=ja 一言 動画見たけりゃ入れとけ。損は無い アプリ名 DicePlayer URL https //play.google.com/store/apps/details?id=com.inisoft.mediaplayer.a&hl=ja 一言 倍速再生で時間を節約しましょう。 Twitterクライアント アプリ名 Seesmic (Facebook, Twitter) URL https //play.google.com/store/apps/details?id=com.seesmic&hl=ja 一言 Twitterの複数垢管理、Facebookも同時投稿可能 アプリ名 Twitterのプルーム URL https //play.google.com/store/apps/details?id=com.levelup.touiteur&hl=ja 一言 これが…プルトン…! オンラインストレージ アプリ名 Dropbox URL https //play.google.com/store/apps/details?id=com.dropbox.android&hl=ja 一言 貴方なら2GBをどう使う? 漫画 アプリ名 Perfect Viewer URL https //play.google.com/store/apps/details?id=com.rookiestudio.perfectviewer&hl=ja 一言 何時から漫画は白黒だと錯覚していた? ラジオ アプリ名 NHKネットラジオ らじる★らじる URL https //play.google.com/store/apps/details?id=jp.nhk.netradio&hl=ja 一言 らじっちゃお☆ スケジュール アプリ名 ジョルテ URL https //play.google.com/store/apps/details?id=jp.co.johospace.jorte&hl=ja 一言 Googleカレンダーやパソコンでも同期可能 天気予報 アプリ名 ss天気予報 new! URL https //play.google.com/store/apps/details?id=com.ssmomonga.ssweather 一言 やったねたえちゃん!これで下駄が要らなくなるよ! カメラ アプリ名 FxCamera URL https //play.google.com/store/apps/details?id=ymst.android.fxcamera&hl=ja 一言 40ものエフェクトが貴方の写真を美しく仕上げるだろう。 電卓 アプリ名 関数電卓 Panecal URL https //play.google.com/store/apps/details?id=jp.ne.kutu.Panecal&hl=ja 一言 受験では使用禁止です。 アプリ名 RealCalc Scientific Calculator URL https //play.google.com/store/apps/details?id=uk.co.nickfines.RealCalc&feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwidWsuY28ubmlja2ZpbmVzLlJlYWxDYWxjIl0. 一言 3.1415926535…。 地図 アプリ名 NAVITIME - 地図で音声案内や乗換ができるナビアプリ URL https //play.google.com/store/apps/details?id=com.navitime.local.navitime&referrer=utm_source%3dpc_navitime%26utm_medium%3dpc_Intro_android%26utm_campaign%3dpc_Intro_android_walk_20121015 一言 茸だけ31日間無料。会員登録は月額315円 アプリ名 Yahoo!地図 URL https //play.google.com/store/apps/details?id=jp.co.yahoo.android.apps.map 一言 いつかGoogleマップに勝ってやるんだから! アプリ名 駅探★乗換案内 全国の駅時刻表・運行情報が検索できるアプリ URL https //play.google.com/store/apps/details?id=com.ekitan.android 一言 名前の通り。 アプリ名 地図ロイド URL https //play.google.com/store/apps/details?id=com.kamoland.chizroid&hl=ja 一言 「国土地理院背景地図等データ利用規約」に同意の上うんたらかんたら アプリ名 渋滞ナビ URL https //play.google.com/store/apps/details?id=jp.co.kenmiya.TJamInfo 一言 渋滞予想が見やすい 画像編集 アプリ名 SketchBook Mobile URL https //play.google.com/store/apps/details?id=com.sketchbook&hl=ja 一言 レイヤーが使える。 アプリ名 BeFunky Photo Editor URL https //play.google.com/store/apps/details?id=air.com.befunky.BeFunkyPhotoEditor&hl=ja 一言 全ての機能が100%無料で使えます! アプリ名 Fotolr写真処理 URL https //play.google.com/store/apps/details?id=com.tinypiece.android.PSFotolr&hl=ja 一言 知らん RSSリーダー アプリ名 gReader (Google Reader RSS) URL https //play.google.com/store/apps/details?id=com.noinnion.android.greader.reader 一言 設定すれば勝手に情報収集してくれる アプリ名 scReaderWidget URL https //play.google.com/store/apps/details?id=scube.utility.reader&hl=ja 一言 Twitter関連は今後使えない可能性大。 アプリ名 NewsRob (Google Reader / RSS) URL https //play.google.com/store/apps/details?id=com.newsrob&hl=ja 一言 知らん その他 アプリ名 Android メーカー URL https //play.google.com/store/apps/details?id=com.google.android.apps.androidify&hl=ja 一言 Google先生の遊び心 アプリ名 1Tap Cleaner URL https //play.google.com/store/apps/details?id=com.a0soft.gphone.acc.free&hl=ja 一言 ごみはゴミ箱へ アプリ名 AirDroid URL https //play.google.com/store/apps/details?id=com.sand.airdroid&hl=ja 一言 データを紙飛行機にして飛ばすアプリ。嘘 アプリ名 Market Bookmark URL https //play.google.com/store/apps/details?id=com.michitsuchida.marketfavoritter.main&hl=ja 一言 名前の通り アプリ名 秒時計ウィジェット URL https //play.google.com/store/apps/details?id=jp.co.intri.second.clock&hl=ja 一言 一秒すら無駄に出来ない玄人向け アプリ名 Memento Database URL https //play.google.com/store/apps/details?id=com.luckydroid.droidbase 一言 MS accessみたいなデータベースが作れる。エントリーフォームも設定できるしgoogle drive(google doc)との同期もできる アプリ名 壁紙ぴったん URL https //play.google.com/store/apps/details?id=com.shirobakama.wallpaper&hl=ja 一言 自分の使用している端末の画面サイズにぴったりの壁紙加工ができる アプリ名 Llama - Location Profiles URL https //play.google.com/store/apps/details?id=com.kebab.Llama&hl=ja 一言 Taskerの機能限定版とでも言いましょうか、アイコンがオシャレ
https://w.atwiki.jp/knight_9999/pages/38.html
トップページ Android スレッド処理 スレッド処理の基本 ネットワークへのアクセスなどは、メインスレッドでは出来ないので、 別スレッドで行う。 こういう処理のときに、AsyncTaskを利用する。 また、AsyncTaskの経過処理を表示するのには、ProgressDialogが利用できる。 public void goTask() { AsyncTask Void,Integer,Void task = new AsyncTask Void,Integer,Void () { int total; int count; ProgressDialog dialog; protected void createDialog() { dialog = new ProgressDialog( this.MainActivity ); dialog.setTitle( "Working..." ); dialog.setMessage( "Wait for dummy"); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.setCancelable(false); dialog.setMax( 100 ); dialog.setProgress(0); dialog.show(); } @Override protected void onPreExecute() { super.onPreExecute(); createDialog(); } @Override protected void onPostExecute(Void params) { super.onPostExecute(params); dialog.dismiss(); } @Override protected Void doInBackground(Void... params) { count = 0; total = 100; for (int i=0;i 100;i++) { count += 1; try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } publishProgress( count * 100 / total ); } return null; } @Override protected void onProgressUpdate(Integer... values) { dialog.setProgress(values[0]); super.onProgressUpdate(values); } }; task.execute( ); } (このgoTaskメソッドは、何かボタンを押したら呼ばれるようにしておく) デバイスの回転での問題点 これで動作するのだが、AsyncTaskが動作している間にデバイスを回転させてしまうと、プログレスバーが消えてしまう。 さらに、onPostExecuteのところのdialog.dismiss();のところでハングしてしまう。 この理由は、デバイスの回転にともなってアクティビティが削除/再生成されてしまうため。 アクティビティが再生成された場合でも、動作しているAsyncTaskが設定しているProgressDialogが削除された古い アクティビティを保持して動作しているため、dismiss出来なずにエラーが発生してしまうからだ。 これに対応するには、Android 3.0以後で導入されたDialogFragmentを使う方がよいようだ。 http //blog.zaq.ne.jp/oboe2uran/article/877/ しかし、DialogFragmentはAndroid 2.3系では利用できないため、ここではProgressDialogのままで対応する方法を考える。 まず、Activityが破棄されたかどうかを知る必要がある。 このため、Activityに静的メンバとして、onCreateされた(最新の)Activityを保持することにする。 さらに、破棄された場合、新しいActivityから再度ProgressDialogを表示する必要があるが、サブスレッドからはGUIを 操作できないので、ハンドラを一つ用意しておく。 MainActivityに追加するフィールド public static MainActivity currentActivity; public Handler handler; そして、onCreateメソッド内で、次のように定義しておく currentActivity = this; handler = new Handler(); また、goTaskで定義しているAsyncTasxk内でもMainActivityを保持しておく。 ループ処理中、もしもactivityがcurrentActivityと違っていたら、handler経由で再度、 ProgressDialogを表示する。 public void goTask() { AsyncTask Void,Integer,Void task = new AsyncTask Void,Integer,Void () { MainActivity activity; int total; int count; ProgressDialog dialog; protected void createDialog() { dialog = new ProgressDialog( currentActivity ); dialog.setTitle( "Working..." ); dialog.setMessage( "Wait for dummy"); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.setCancelable(false); dialog.setMax( 100 ); dialog.setProgress(0); dialog.show(); } @Override protected void onPreExecute() { super.onPreExecute(); activity = currentActivity; createDialog(); } @Override protected void onPostExecute(Void params) { super.onPostExecute(params); if (activity == currentActivity) { dialog.dismiss(); } } @Override protected Void doInBackground(Void... params) { count = 0; total = 100; for (int i=0;i 100;i++) { count += 1; try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } if (activity != currentActivity) { activity = currentActivity; activity.handler.post(new Runnable() { @Override public void run() { createDialog(); } }); } publishProgress( count * 100 / total ); } return null; } @Override protected void onProgressUpdate(Integer... values) { dialog.setProgress(values[0]); super.onProgressUpdate(values); } }; task.execute( ); } これで一応、画面を回転させても再度プログレスバーを表示して動作継続するようにできた。 ちょっと面倒なので、もう少し良い方法があればいいのだけど。 2013/7/27
https://w.atwiki.jp/bovecrach/pages/19.html
Activityの機能 Application.ActivityLifecycleCallbacksでActivityを監視する HomeAsUpで色々な画面に戻れるようにする ActivityGroupについて (@Deprecated になったので意味の無い情報になった) 子要素となるChildが複数あるときに、全ChildにLifeCycleを適用させる